1. Field of the Invention
This invention relates to a memory control device for use in a recording and/or reproducing apparatus capable of recording and/or reproducing data organized in programs (such as audio data, musical pieces, etc.), on a disc-type recording medium for example. This invention further relates to an address generating circuit equipped in the memory control device.
2. Background Art
There have been known data re-writable disc media on which a user can record programs (such as musical pieces, etc.). These disc media are provided with a data area (user TOC, hereinafter referred to "U-TOC") for managing areas on which the programs have been already recorded, and for managing recordable areas. These media are designed so that managing data for these areas is re-written every time a recording operation, an erasing operation or an overwriting operation for the programs is performed.
For instance, an audio recording device is designed so that in an audio recording operation for a program, a recordable area on a disc is located on the basis of the U-TOC. The device then records the program for the audio data on this recordable area. On the other hand, for a reproducing device, the U-TOC data is used to locate an area on which a program to be reproduced is recorded. The device then accesses the area to carry out a reproducing operation for the program.
In such disc media, the area management on the disc and the position management of the U-TOC are carried out on the basis of a pre-mastered TOC (hereinafter referred to as "P-TOC"). The P-TOC comprises managing information formed as pit data.
One known type of disc media is a pre-mastered disc medium in which programs (such as musical pieces, etc.) are recorded as pit information. This type of disk medium is exclusively used for reproduction. The rewriting of the managing information is not required for this pre-mastered type of disk, and the area management of the programs is carried out solely on the basis of the P-TOC.
Generally, for a recordable disc medium, such as a magneto-optical disc (MO disc) or the like, random access can be more easily carried out as compared to a tape recording medium formed as a tape, such as a compact cassette tape or the like. Furthermore, when recording on a disc medium it is not generally necessary to record a program (such as a musical piece) on a continuous segment. Note that in this specification, the term "segment" is defined as a track portion on which physically-continuous data is recorded. That is, no problem would occur if the program is divided and recorded in discrete, plural segments.
In some systems, data is read out of a magneto-optical disc and temporarily stored into a buffer memory (buffer RAM) at a high rate of speed. Then the data is read out as an audio reproducing signal from the buffer RAM at a low rate of speed to perform a demodulation processing. In such systems the high-speed accessing data from the magneto-optical disc enables a reproduced program (such as a musical piece) to be output without being interrupted even if the data read-out operation from the magneto-optical disc is temporarily interrupted.
Accordingly, by repeating a recording or reproducing operation between the segments and a high-speed access operation, the recording or reproduction of a program can be performed without interruption even when a track for the program is physically divided and separated into plural segments. However, the high-speed access operation is sometimes interrupted due to data accumulation caused by the difference between the write-in and read-out rates of the buffer RAM.
For example, as shown in FIG. 1, it is possible that each of first and second programs are continuously recorded on a segment T.sub.1, T.sub.2. However, fourth and fifth programs may be respectively recorded on discrete segments T.sub.4(1) -T.sub.4(4), T.sub.5(1) -T.sub.5(2) which can be found over several tracks. FIG. 1 shows this example schematically. In practice, one segment frequently extends over several tracks to several hundreds of tracks.
When the recording, erasing or overwriting operation for programs is repeated for the magneto-optical disc, empty areas are irregularly produced on the tracks due to the difference between time periods of programs to be recorded and time periods of previously erased programs. Through the above discrete recording operation, any program which is longer than a previously erased program can be recorded using the erased portion, and thus the data recording area can be effectively used. Note that recordable programs are not limited to programs, and any program corresponding to an audio signal may be so recorded. For the sake of brevity, in this specification, any lump of data (a recording data unit) which has a linked content in combination may hereinafter be referred to as a "program".
Of course, when the recording operation is carried out for the above type of disc medium, the audio recording operation must be continuously carried out while accessing plural segments serving as recordable areas, and when the reproducing operation is carried out, the segments must be accessed in such a manner that a piece of music is accurately and continuously reproduced. In order to satisfy such a requirement, both data for linking the segments allocated to a piece of music (for example, T.sub.4(1) -T.sub.4(4)) and data which indicates recordable areas are stored as U-TOC information which will be rewritten every recording, erasing or overwriting operation as described above. The recording/reproducing apparatus accesses the U-TOC information and stores it into the memory, for example, at the time when a disc is loaded. Further, when a recording, reproducing, erasing or overwriting operation or the like is carried out, a head access is carried out on the basis of the U-TOC information stored in the memory to thereby control the recording, reproducing, erasing or overwriting operation.
A recording track of the magneto-optical disc comprises continuously-formed clusters CL (=36 sectors) each of which includes a sub data area of 4 sectors (one sector=2352 bytes) and a main data area of 32 sectors as shown in FIG. 2. One cluster serves as a minimum unit for the recording operation, and has a length corresponding to two or three rounds of the disc. An address is recorded for every sector. The sub data area of 4 sectors is used for sub data or as a link area. TOC data, audio data, etc. are recorded in the main data area of 32 sectors.
As shown in FIG. 2, the sectors are further divided into sound groups. Each unit of two sectors is divided into 11 sound groups. Data of 512 samples are recorded in an audio group while being separated into left (L) and right (R) channels. One sound group has an audio data whose time corresponds to 11.6 msec.
With reference to FIG. 3, the management state by the U-TOC will now be described. FIG. 3 schematically shows the area structure of the disc track in its radial direction, and the area structure will be first described. For a magneto-optical disc, the area structure is mainly divided into an area (a pre-mastered area on which data is recorded with emboss pits) which is represented as a pit area in FIG. 3, and a groove area which includes several groups and is formed as a magneto-optical area.
A pre-mastered TOC (hereinafter referred to as "P-TOC") serving as managing information is repetitively recorded on the pit area. In the P-TOC, the position of the U-TOC is indicated using a U-TOC start address, UST.sub.A. Also recorded in the P-TOC are a read-out start address RO.sub.A, a recordable user area start address RST.sub.A, a power cal (calibration) area start address PCA, etc. as indicated.
The groove area is formed subsequently to the pit area at the innermost peripheral side of the disc. Within the groove area, an area extending to the address which is indicated as the read-out start address RO.sub.A in the P-TOC is used as a recordable area. A subsequent area is used as a read-out area (as shown in FIG. 3).
A recordable user area of the recordable area, in which programs are actually recorded, extends from the position (address A.sub.MIN) indicated as a recordable user area start address RST.sub.A to the position (address A.sub.MAX) just before the read-out start address RO.sub.A.
An area, called the U-TOC area, is located before the recordable user area start address RST.sub.A in the groove area, as shown in FIG. 3. The U-TOC area is used as a managing area for recording and reproducing operations. The U-TOC, as described above, is recorded in this area. Also included in the U-TOC area is a laser power calibration area. The length of the laser power calibration area corresponds to one cluster starting at the position indicated as the power cal area start address PC.sub.A.
The U-TOC is recorded at over three successive clusters starting at a predetermined position in the U-TOC area for managing the recording and reproducing operations. The address position at which the U-TOC is recorded is indicated by the U-TOC start address UST.sub.A. The U-TOC is provided with information on the recording status of the recordable user area as managing information.
Now, it is assumed that four programs (audio data) M.sub.1 to M.sub.4 are recorded in the recordable user area as shown in FIG. 3. That is, a first program M.sub.1 is recorded on segments of addresses A.sub.1 (=A.sub.MIN) to A.sub.2. A second program M.sub.2 is divided into a portion M.sub.2(1) which is to be recorded on segments of addresses A.sub.3 to A.sub.4, and a portion M.sub.2(2) which is to be recorded on segments of addresses A.sub.11 to A.sub.12. A third program M.sub.3 is recorded on segments of addresses A.sub.5 to A.sub.6. A fourth program M.sub.4 is recorded divided into a portion M.sub.4(1) which is recorded on segments of addresses A.sub.9 to A.sub.10, and a portion M.sub.4(2) to be recorded on segments of addresses A.sub.13 to A.sub.14.
In this state, segment F.sub.(1) of addresses A.sub.7 to A.sub.8, and segment F.sub.(2) of addresses A.sub.15 to A.sub.16 (Note: A.sub.16 =A.sub.MAX) are allocated to unrecorded areas on which no audio data has been yet recorded. That is, F.sub.(1) and F.sub.(2) are recordable free areas.
This state (area structure) is managed as shown in FIG. 4 in the U-TOC. The U-TOC is provided with a corresponding table indicating data portion which includes various kinds of table pointers (P-DFA, P-EMPTY, P-FRA, P-TNO1 to P-TNO255) as shown in FIG. 4. The U-TOC also has a managing table portion having 255 part tables (01h) to (FFh) in correspondence with the corresponding table indicating data portion. Each part table contains a start address, an end address, a track mode for one segment on the disc, and link information for linking the part table to another part table.
In this construction, each part table is indicated by a table pointer of the corresponding table indicating data portion to thereby manage the segments. The table pointer P-DFA indicates a defective area on the disc. Now, assuming that no defects exist in the recordable user area as shown in FIG. 3, the table pointer P-DFA is set to "00h". The table pointer P-EMPTY indicates an unused part table. The table pointer P-FRA is used to manage recordable areas (free areas), and in the case of FIG. 4 it is assumed that the table pointer P-FRA indicates apart table (01h). Actually, each table pointer indicates a part table with a numerical value with which the address for the part table is determined through a predetermined calculation processing.
In this case, information on the free area F.sub.(1) as shown in FIG. 4 is indicated in the part table (01h), that is, the addresses A.sub.7 and A.sub.8 are indicated as a start address and an end address, respectively. Further, since another segment serving as the free area F.sub.(2) exists, a part table (09h) is indicated by link information of the part table (01h). In practice, this link information is also represented by a numerical value with which the address for a part table is determined through a predetermined calculation processing. In correspondence with the free area F(2), the addresses A.sub.15 and A.sub.16 are indicated as a start address and an end address respectively in the part table (09h). Since no further segment serving as a free area exists, this part table (09h) is not required to be linked to another part table, and thus the link information thereof is set to "00k".
Through the management of the free areas as described above, the address for any segment serving as a free area can be obtained by searching part tables with the table pointer P-FRA being set to a starting point, and the audio data or the like can be recorded on the segments serving as the free areas.
Those audio data which have been already recorded are managed in the same manner as described above. With respect to the programs (audio data), 255 programs at maximum can be managed by the table pointers P-TNO1 to P-TNO255.
With respect to the first program M.sub.1 for example, the start address A.sub.1 and the end address A.sub.2 therefor are indicated in a part table (02h) which is indicated by the table pointer P-TNO1. Since the program M.sub.1 is recorded on one segment, the link information of the part table (02h) is set to "00h".
Further, with respect to the second program M.sub.2, the start address A.sub.3 and the end address A.sub.4 therefor are indicated in a part table (04h) which is indicated by the table pointer P-TNO2. In this case, the program M.sub.2 is recorded on two separate segments, and thus the addresses A.sub.3 and A.sub.4 indicate only the segment for the first half (M.sub.2(1)) of the program M.sub.2. Accordingly, in this case, a part table (06h) is indicated by the link information for the part table (04h), and the start address A.sub.11 and the end address A.sub.12 are recorded in the part table (06h) to indicate the other segment for the second half (M.sub.2(2)). No further linkage is required for this program, and thus the link information of the part table (06h) is set to "00h".
With respect to the third and fourth programs M.sub.3 and M.sub.4, the positions of segments for these programs are managed by those part tables which are obtained from the table pointers P-TNO3 and P-TN04 which respectively indicate the first associated part tables for the programs. In this case, since only four programs are recorded, the table pointers P-TNO5 to P-TNO255 are not used and thus set to "00h".
The segment position of each program is managed in the manner as described above, and thus the reproducing operation can be properly performed even when plural programs are required to be reproduced in an irregular order or when each of the programs are separately recorded in two or more segments.
As described above, the table pointer P-EMPTY indicates an unused part table, and in this case the table pointer P-EMPTY indicates a part table (08h). On the basis of the link information of the part table (08h), unused part tables which are linked to one another until an unused part table (FFh) serving as the last part table are indicated by the link information (i.e., these unused part tables are subjected to the link management) as shown in FIG. 4. The link information of the part table which is the last part table for the linked, unused part tables (in this case, the part table (FFh)) is set to "00h" to indicate no further linkage.
By the way, as described above, the segments for programs and free areas are managed in a link mode using the table pointers and the link data of the link information in the U-TOC (pre-mastered programs are managed in the same manner on the P-TOC). However, for this link data, the addresses for the part tables to be linked are not directly indicated in the U-TOC (or P-TOC), and they are determined through a predetermined calculation using the link data.
For example, in a case of a magneto-optical disc system for performing management in the mode as shown in FIG. 4, the address of a part table in an U-TOC sector is indicated in each table pointer by a calculation of (76.times.4)+((Px).times.8), and the value of (Px) is recorded in the table pointer. For example when a numerical value "5" is recorded as a table pointer P-FRA to indicate a part table, the part table indicated by the table pointer P-FRA corresponds to a part table which is recorded from a byte position (344th byte) obtained through the calculation of (76.times.4)+(5.times.8)=344 in the U-TOC sector (one sector comprises 2352 bytes).
Similar to the convention used for table pointers, the link information of each part table by (Lx) representing the byte position of a part table to be linked is obtained through the calculation of (76.times.4)+((Lx).times.8), thereby indicating the part table to be linked.
The search of free areas in the recording operation, the address search of segments to be reproduced in the reproducing operation, the address search of segments to be erased in the erasing operation, etc. are performed by tracing the linkage of the part tables on the U-TOC. In this case the calculation processing as described above must be carried out on the basis of the table pointers or the link information to obtain the address of a read-in part table.
Usually, such a recording apparatus is equipped with a memory controller for carrying out the output of the memory write-in/read-out address and reception of storage data for a memory for holding the P-TOC and the U-TOC. Usually, a system controller controls the memory controller to execute the storage/read-out of the data. The system controller reads in the P-TOC and the U-TOC from the memory to control the actual recording, reproducing and other operations.
When reading in the managing information (art tables) of the link mode as described above, the system controller carries out the above calculation on the basis of the table pointer or link information to calculate the address of a part table to be next read in, and supplies the calculated address through the memory controller to the memory to thereby perform the read-out of the data of the part table.
However, since the calculation processing as described above must be carried out, there occurs a problem that a large processing load is imposed on the system controller. Further, the calculated address as well as the read-out executing command must be output to the memory controller, and thus more time is required for the data communication. Particularly in the case where the memory controller and the system controller carry out the data reception and transmission through a serial communication, the processing time increases as the data amount to be communicated is increased.
In the course of the recording/erasing operation of programs (such as musical pieces or the like) for this type of disc medium, there may occur a vain area (also called a trash area) which is not managed by the U-TOC having the managing mode as described above. This can be caused in a number of ways. For instance, in order to prevent audio data on another track from being erroneously erased when a program (audio data) is recorded, a guard band area whose length corresponds to several clusters is provided before and after the audio data. Also, the sound-recording start position is defined on the assumption that the audio recording is carried out on cluster basis. Also, the music may be edited by partially erasing or synthesizing a program (audio data).
For example, in the case of FIG. 3, portions as indicated by cross-hatching, such as areas of the addresses A.sub.4 to A.sub.5, the addresses A.sub.6 to A.sub.7 and the addresses A.sub.12 to A.sub.13 occur as trash areas. The segments for these trash areas do not appear in the managing mode of the U-TOC as shown in FIG. 4. The occurrence of these trash areas causes the reduction in recording capacity of the disc. In order to solve this problem, it has been conventionally adopted that the U-TOC is re-edited at a prescribed time to reduce the trash areas. The re-edit processing of the U-TOC is executed, for example when audio data is erased, or the re-editing of the U-TOC is instructed by an user's manipulation, or the control device determines an increase of trash areas.
In order to perform the processing to extinguish the trash areas, part tables (part tables linked on the basis of the table pointer P-FRA or P-TNO1 to P-TNO255 for the segment management) on the U-TOC must be searched to determine states (area arrangement) before and after the segment serving as a reference for editing (hereinafter referred to as "editing reference segment"). If the trash area processing is required to be executed when the program M.sub.3 is erased, it is required to identify segments which are adjacently located before (in front of) and after (behind) a segment on which the program M.sub.3 is recorded (i.e., an editing reference segment), and also determine whether these segments are located in an area where another program (audio data) is recorded (i.e., a audio data area) or in a free area. In addition, it is required to be determined whether any trash area exists between the editing reference segment and each of the segments before and after the editing reference segment. In this case, all the part tables which are used for the segment management must be searched.
In a case where a large number of part tables must be continuously read out as described above, the execution of the address calculation and the communication of the calculated addresses imposes a large processing load on the system controller, and the increase of the communication time causes the increase of the processing time. This exacerbates the above problems, and it becomes a critical problem for practical use of the recording or reproducing system.
Objects of this invention include realization of faster of read-out/write-in processing of managing data such as P-TOC, U-TOC, etc., and reduction in processing load of a system controller.